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

TRAINING GUIDE. Overview of Lucity Spatial

COP2800 Homework #3 Assignment Spring 2013

INSTALLING CCRQINVOICE

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

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

Laboratory Exercise 3 Using the PIC18

Assignment #5: Rootkit. ECE 650 Fall 2018

Using the Swiftpage Connect List Manager

Using the Swiftpage Connect List Manager

Integrating QuickBooks with TimePro

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

ClassFlow Administrator User Guide

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

The Login Page Designer

BI Publisher TEMPLATE Tutorial

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

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

Test Pilot User Guide

Qualtrics Instructions

The Reporting Tool. An Overview of HHAeXchange s Reporting Tool

STUDIO DESIGNER. Design Projects Basic Participant

ROCK-POND REPORTING 2.1

Populate and Extract Data from Your Database

Outreach Portal User Guide

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

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

Municode Website Instructions

Exporting and Importing the Blackboard Vista Grade Book

Entering an NSERC CCV: Step by Step

CSE 361S Intro to Systems Software Lab #2

Using SPLAY Tree s for state-full packet classification

CREATING A DONOR ACCOUNT

Adverse Action Letters

Homework: Populate and Extract Data from Your Database

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

SmartPass User Guide Page 1 of 50

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

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

Lesson 4 Advanced Transforms

TRAINING GUIDE. Lucity Mobile

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

Create Your Own Report Connector

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

Reading and writing data in files

1 Version Spaces. CS 478 Homework 1 SOLUTION

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.

Creating a TES Encounter/Transaction Entry Batch

Access 2000 Queries Tips & Techniques

Chapter 2 Basic Operations

How to use DCI Contract Alerts

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

Concentrix University Learning Portal FAQ Document

WEB LAB - Subset Extraction

Project #1 - Fraction Calculator

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

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

Copyrights and Trademarks

Tips and Tricks in Word 2000 Part II. Presented by Carla Torgerson

Project 4: System Calls 1

ECE 545 Project Deliverables

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

Configuring Database & SQL Query Monitoring With Sentry-go Quick & Plus! monitors

Gmail and Google Drive for Rutherford County Master Gardeners

Recommended Minimum Requirements for Cisco Meeting Application Web RTC Use

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

Procedures for Developing Online Training

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

MySqlWorkbench Tutorial: Creating Related Database Tables

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

Data Miner Platinum. DataMinerPlatinum allows you to build custom reports with advanced queries. Reports > DataMinerPlatinum

KNX integration for Project Designer

How To enrich transcribed documents with mark-up

It has hardware. It has application software.

CS602 Computer Graphics Mid Term Examination February 2005 Time Allowed: 90 Minutes.

Adobe Connect 8 Event Organizer Guide

Google Map Web Part Enterprise Version

ClubRunner. Volunteers Module Guide

Enhancements to reference request templates

CS1150 Principles of Computer Science Introduction (Part II)

3 AXIS STAGE CONTROLLER

Automatic imposition version 5

Due Date: Lab report is due on Mar 6 (PRA 01) or Mar 7 (PRA 02)

Summary. Server environment: Subversion 1.4.6

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

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

Lab 0: Compiling, Running, and Debugging

Web of Science Institutional authored and cited papers

HireRight: Step-by-Step Guide

Relius Documents ASP Checklist Entry

Chalkable Classroom Items

Independent Arbitration for Customers. Application Form

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

Gemini Intercom Quick Start Guide

PROJECT 2: Client-side Web Project

Faculty Textbook Adoption Instructions

Transcription:

Yu will learn the fllwing in this lab: The UNIVERSITY f NORTH CAROLINA at CHAPEL HILL Cmp 541 Digital Lgic and Cmputer Design Spring 2016 Lab Prject (PART A): A Full Cmputer! Issued Fri 4/8/16; Suggested cmpletin date 4/18/16 Designing a mdule with multiple memries Designing and using a bitmap fnt Designing a memry-mapped display Understanding initializatin f a memry unit using an external file Part 0: Thrughly test yur design f the MIPS CPU frm Lab 10 Befre yu prceed with the tasks belw, make sure that yur MIPS CPU frm Lab 10 is wrking crrectly. The tester prvided fr Lab 10 shuld result in all crrect utputs (i.e., all ERROR signals shuld be green). 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 tp, which cntains vgadisplaydriver (in a file named vgadisplaydriver.sv) and screenmem (in file screenmem.sv). The VGA display driver in turn cntains tw submdules: VGA Timer and Bitmap Memry. Nte the fllwing: VGA timer: Yu designed this mdule in Lab 7. Use a reslutin that yu wuld like fr yur final dem. In class/lab discussins, I will assume a reslutin f 640x480. If yu deviate frm this reslutin, be sure t make crrespnding changes t yur Verilg descriptin thrughut. 2

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 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. 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 shwn in Part 1 has nw been 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! A sample prgram is prvided n the website; it waits fr an amunt f time that can be set in the assembly prgram, then write tw characters n the screen. 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, Apr 11, 10 am. 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.sv). 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 whenever ready. Hw t submit: Please submit yur wrk by email whenever ready (if it is after 4/18, I d wrry): 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