The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Similar documents
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Ascii Art Capstone project in C

$ARCSIGHT_HOME/current/user/agent/map. The files are named in sequential order such as:

TRAINING GUIDE. Overview of Lucity Spatial

COP2800 Homework #3 Assignment Spring 2013

Using the Swiftpage Connect List Manager

Using the Swiftpage Connect List Manager

Assignment #5: Rootkit. ECE 650 Fall 2018

INSTALLING CCRQINVOICE

Laboratory Exercise 3 Using the PIC18

Using CppSim to Generate Neural Network Modules in Simulink using the simulink_neural_net_gen command

The Login Page Designer

Interfacing to MATLAB. You can download the interface developed in this tutorial. It exists as a collection of 3 MATLAB files.

TRACK CHAIRS CREATING INVITED SESSIONS AND INVITING SESSION ORGANIZER(S)

Preparation: Follow the instructions on the course website to install Java JDK and jgrasp on your laptop.

These tasks can now be performed by a special program called FTP clients.

ClassFlow Administrator User Guide

BI Publisher TEMPLATE Tutorial

FIT 100. Lab 10: Creating the What s Your Sign, Dude? Application Spring 2002

ROCK-POND REPORTING 2.1

Test Pilot User Guide

Word 2007 The Ribbon, the Mini toolbar, and the Quick Access Toolbar

Qualtrics Instructions

The Reporting Tool. An Overview of HHAeXchange s Reporting Tool

Integrating QuickBooks with TimePro

TRAINING GUIDE. Lucity Mobile

Populate and Extract Data from Your Database

Using SPLAY Tree s for state-full packet classification

Eastern Mediterranean University School of Computing and Technology Information Technology Lecture2 Functions

Entering an NSERC CCV: Step by Step

Campuses that access the SFS nvision Windows-based client need to allow outbound traffic to:

I - EDocman Installation EDocman component EDocman Categories module EDocman Documents Module...2

Case Metrics Guide. January 11, 2019 Version For the most recent version of this document, visit our documentation website.

Chalkable Classroom Items

How to use DCI Contract Alerts

Municode Website Instructions

Reading and writing data in files

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Exporting and Importing the Blackboard Vista Grade Book

Adverse Action Letters

STUDIO DESIGNER. Design Projects Basic Participant

Homework: Populate and Extract Data from Your Database

Access 2000 Queries Tips & Techniques

CREATING A DONOR ACCOUNT

MediaTek LinkIt Development Platform for RTOS Memory Layout Developer's Guide

1 Version Spaces. CS 478 Homework 1 SOLUTION

WEB LAB - Subset Extraction

Create Your Own Report Connector

REFWORKS: STEP-BY-STEP HURST LIBRARY NORTHWEST UNIVERSITY

Guidance for Applicants: Submitting an application in AAS Ishango Grants Management

It has hardware. It has application software.

Upgrading Kaltura MediaSpace TM Enterprise 1.0 to Kaltura MediaSpace TM Enterprise 2.0

MyUni Adding Content. Date: 29 May 2014 TRIM Reference: D2013/ Version: 1

Concentrix University Learning Portal FAQ Document

Communication Tools. Quick Reference Card. Communication Tools. Mailing Labels. 6. For the Label Content, follow these rules:

TN How to configure servers to use Optimise2 (ERO) when using Oracle

Data Structure Interview Questions

CS1150 Principles of Computer Science Introduction (Part II)

User Guide. Document Version: 1.0. Solution Version:

CSE 361S Intro to Systems Software Lab #2

Outreach Portal User Guide

LAB 7 (June 29/July 4) Structures, Stream I/O, Self-referential structures (Linked list) in C

Faculty Textbook Adoption Instructions

You may receive a total of two GSA graduate student grants in your entire academic career, regardless of what program you are currently enrolled in.

Guidance for Submitting an application or Nomination in AAS Ishango Online System

Cntents 1 Intrductin Kit Cntents Requirements Installatin Gesture Sensr Kit Hardware and Jumper Settings De

Volume DIGITAL SIGNAGE SOFTWARE MANUAL. Your total toolkit for cloud-based digital signage. A Quick Start User Guide

Proper Document Usage and Document Distribution. TIP! How to Use the Guide. Managing the News Page

Importing an Excel Worksheet into SAS (commands=import_excel.sas)

How To enrich transcribed documents with mark-up

Copyrights and Trademarks

Adobe Connect 8 Event Organizer Guide

Gmail and Google Drive for Rutherford County Master Gardeners

KNX integration for Project Designer

USO RESTRITO. SNMP Agent. Functional Description and Specifications Version: 1.1 March 20, 2015

Exercise 4: Working with tabular data Exploring infant mortality in the 1900s

UBC BLOGS NSYNC PLUGIN

Project 4: System Calls 1

Summary. Server environment: Subversion 1.4.6

Arduino Basics Intro to ArduBlocks

CLIC ADMIN USER S GUIDE

FAQ. Using the Thinkific Learning Platform

escreen Setup and Usage Instructions

SmartPass User Guide Page 1 of 50

3 AXIS STAGE CONTROLLER

Because of security on the site, you cannot create a bookmark through the usual means. In order to create a bookmark that will work consistently:

Lesson 4 Advanced Transforms

Creating a TES Encounter/Transaction Entry Batch

E2Open Multi-Collab View (MCV)

August 22, 2006 IPRO Tech Client Services Tip of the Day. Concordance and IPRO Camera Button / Backwards DB Link Setup

istartsmart 3.5 Upgrade - Installation Instructions

Web of Science Institutional authored and cited papers

PowerTeacher Classroom Management Tool Quick Reference Card

Chapter 2 Basic Operations

If you have any questions that are not covered in this manual, we encourage you to contact us at or send an to

Date: October User guide. Integration through ONVIF driver. Partner Self-test. Prepared By: Devices & Integrations Team, Milestone Systems

Relius Documents ASP Checklist Entry

Transcription:

Yu will learn the fllwing in this lab: The UNIVERSITY f NORTH CAROLINA at CHAPEL HILL Designing a mdule with multiple memries Designing and using a bitmap fnt Designing a memry-mapped display Cmp 541 Digital Lgic and Cmputer Design Spring 2015 Lab Prject (PART A): A Full Cmputer! Issued Wed 4/1/15; Due Wed 4/8/15 (11:59pm) Understanding initializatin f a memry unit using an external file Part 0: Thrughly test yur design f the MIPS CPU frm Lab 10 The tester in Lab 10 nly tested a subset f the instructins yu were asked t implement. I will prvide anther tester n the curse website that will test all f the instructins. Please use it t test and debug yur prcessr. Part 1: Design a full display unit ( Terminal Display ) Yu will build upn yur VGA display driver frm Lab 7 t make it a full-fledged character display. The blck diagram belw shws yur design frm Lab 7: This earlier design simply generated a fixed pattern t shw n the display (e.g., lines, checkerbard pattern, etc.). In this assignment, yu will extend it t display a 2-D grid f characters, i.e., a character display, as shwn in the blck diagram belw. 1

The characters t display are assigned cdes (yur chice), and these cdes are stred in an array in a special memry called screen memry. The array is stred in rw-wise (rw 0 first, then rw 1, etc.), and left-t-right within each rw. If yur screen size is 640x480 pixels, and if yu decide n each character being 16x16 pixels, then each rw will have 40 characters, and there will be 30 rws. S, yur screen memry will need t have at least 1200 lcatins. There is als anther memry, a read-nly ne, called bitmap memry, which stres the pixel pattern fr each f the characters yu implement. S, fr example, if yur characters are blcks f 16x16 pixels, and if each pixel has an 8-bit RGB clr, then the bitmap memry will have 256 bytes stred fr each character yu chse t implement. If yur final applicatin needs 16 different characters, then yur bitmap memry will have 256 x 16 = 4096 bytes f data. Nte: There is n CPU in this picture yet. Study the blck diagram carefully. Make a tp-level mdule called vgadisplaydriver (in a file named vgadisplaydriver.sv) which cntains three submdules: A VGA timer: Yu designed this mdule in Lab 7. Use a reslutin that yu wuld like fr yur final dem (e.g., 640x480). A screen memry: This memry cntains a linear sequence f values, each representing the cde fr a character. These are cdes yu assign t sme special characters (e.g., different clred blcks, r different types f smilie faces, etc.). It is sufficient t keep each cde 8-bits wide, althugh yu can 2

use fewer bits if yu need fewer. Fr instance, if yu nly want t display 32 unique symbls, yu nly need a cde with 5 bits (yur cdes wuld run frm 5 b00000 t 5 b11111). The width f the screen address will depend n yur screen reslutin and character size. If, as in the text abve, yur screen has a ttal f 1200 characters, yu will need a screen address f 11 bits. Nte: Each lcatin in this memry shuld represent a single character s cde. A bitmap memry: This memry is indexed by the character cde, and stres the bitmap r fnt infrmatin fr that character. In particular, each character is a 2-dimensinal matrix f RGB values, stred in a linear sequence. S, fr example, if each character is a 16x16 square bx f pixels, yu will stre the 12-bit RGB value fr the (0,0) pixel fr that character first, then (0,1), and s n until the end f the tp rw, then the secnd rw, etc. Thus, there will be 256 clr values (each 12-bit in length) stred fr each character. Nte: Each lcatin in this memry shuld represent a single pixel s clr value. Keep the fllwing pints in mind as yu d this assignment: Start with nly a small number f characters (say, 2 r 4). If yur design wrks fine, increase the number f characters t a reasnable number (at least 8, but as many as yu think yu might need t d an interesting dem!). Yu may have t think a bit int yur final dem here, but dn t wrry, nce yu have the basic design wrking, it wn t be t hard t cme back and add mre characters and bitmaps t it! Initialize the screen memry frm a file using the $readmemh instructin. Yu shuld have the entire screen initialized in this file; therwise there may be junk character cdes in the part f the screen left uninitialized. This file will be lng (e.g., 1200 lines if yur screen has 40 clumns x 30 rws). Initialize the bitmap memry frm a file using the $readmemh (r perhaps $readmemb may be mre cnvenient here). If, fr example, characters are 16x16 pixels, then each will require 256 clr values t be stred in this memry. Start with nly a cuple f characters, then increase the number. This file can get lng! Fr example, it culd have 256 x 16 lines if yu are using 16 characters. The main challenge in this lab assignment is t instantiate the tw memry units, and t wire everything up tgether. This is a gd exercise in hierarchical design. That is the reasn I will nt be prviding a Verilg cde skeletn. The key challenge t designing this system is t figure ut the fllwing mappings: The mapping frm the (x,y) pixel crdinates generated by the VGA Timing Generatr, t the (J, K) character crdinates that that pixel maps t in Screen Memry. The mapping frm (J, K) character crdinates t the address in Screen Memry. The mapping frm the character cde that the Screen Memry gives yu, t the start lcatin f the bitmap stred fr that character in the Bitmap Memry. The mapping frm the (x,y) pixel crdinates generated by the VGA Timing Generatr, t the ffset within the bitmap fr that character in the Bitmap Memry. Start small s things are easier t debug. 3

Part 2: Integrate the CPU and the display unit using memry mapping As discussed in Lecture 16 (slides 3 and 5 [reprduced belw]), yu will integrate the CPU and the display using memry-mapped I/O. One pssible memry mapping scheme was discussed in class: Assigning the data memry t start at address 0x2000 allws yu t use the MARS assembler with the Cmpact, Text at 0 cnfiguratin, which places cde at 0x000 and data at 0x2000. T implement this memry map, use the blck diagram belw. Put the Memry and I/O unit in a mdule called memio, and name the file memio.sv. Fr nw, skip the jystick/keybard etc. We will discuss thse next week. 4

NOTE: The screen memry was inside the display driver in Part 1 has nw been pulled ut and placed inside the Memry and I/O unit. Therefre, the display driver nw utputs the address fr the screen memry, which ges int the memry-i/o unit thrugh a prt (shwn n the right side in the figure abve). This prt is distinct frm the prt used by the MIPS prcessr, and frm the prt that will be used by the keybard/jystick. Thus, the screen memry nw has separate interfaces t the display driver and t the MIPS CPU. Implement this part n the bards! Write a shrt prgram t have yur MIPS write characters t Screen Memry and see if they shw up n the mnitr! If all ges well, yu will have a near-final full-functin cmputer. Gd luck! Start wrking n yur final prject dem. As explained in class, submit a shrt prpsal n what yu wuld like t implement fr yur final prject dem via Sakai by Mnday, April 6, 11:59pm. What t submit: [Part 1] The Verilg surce f yur tp-level display unit (vgadisplaydriver.sv). This file shuld cntain the Verilg descriptin f the three cmbinatinal lgic blcks fr generating RGB values fr each pixel. [Part 2] In a cuple f sentences, describe the set f characters yu have chsen t implement. [Part 3] The Verilg surce fr the memio mdule (memio.v). In a cuple f sentences, state if everything wrks as yu expect, r if there are sme prblems yu still need t reslve. Shw a wrking dem f yur design fr Part 3 in the lab sessin n Friday, April 10. Hw t submit: Please submit yur wrk by email by 11:59pm, Wed, April 8, 2015, as fllws: Send email t: cmp541submit-cs@cs.unc.edu Use subject line: Lab Prject PART A Include the Verilg files as attachments as specified abve, and the rest in plain text. 5