ECE 2030 Assignment #4: Memory Systems and State Machine Implementation - Prof. Sudhakar Y, Assignments of Electrical and Electronics Engineering

The text of ece 2030 assignment #4 from georgia institute of technology's school of electrical and computer engineering. The assignment covers topics such as state machine implementation using d flip-flops and gates, memory system design, and spim directives for using the data segment. It includes four questions that require students to apply their knowledge of digital logic design, memory organization, and programming.

Typology: Assignments

Pre 2010

Uploaded on 08/04/2009

koofers-user-2bk
koofers-user-2bk 🇺🇸

10 documents

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Yalamanchili
GEORGIA INSTITUTE OF TECHNOLOGY
School of Electrical and Computer Engineering
ECE 2030: Sections D
Spring 2008
Assignment #4
Due Date: Monday, March 31st, 2008 in class. No late assignments will be
accepted. Program is due electronically by midnite.
1. Consider the state machine described in class for recognizing the pattern 1101 in a serial
bit stream. Produce a logic implementation using D flip flops and gates for the following
different encoding schemes.
a. Binary encoded states
b. One-hot encoded states
c. Gray coded states (look up gray codes in the text).
Compare the three implementations in terms of time and space.
2. Show the design of the following memory systems using 1Gbit memory chips. Assume
the chips are organized a 256Mx4 bits.
a. Byte addressable 128 Mbytes (the system read/writes bytes)
b. 32Mwords where each word is 32 bits.
c. 16Mwords where each memory is 64 bits.
3. Find a data sheet from any memory supplier for an SRAM part (at least Mbytes in size).
Provide the supplier name and part number. Describe the internal organization in terms of
the sizes and number of memory banks, the number of addresses/chip, the number of bits
at each address, and the reported access times.
4. This question is to familiarize you with the SPIM directives for using the data segment
and the storage model. You will become familiar with the manner in which strings, bytes,
and words are stored in memory and understand addressing behavior of future SPIM
programs.
You are provided with a sample SPIM program (section webpage). Insert data directives as
defined in class, at the location identified in the program. Load and run the program (just open
the file and look for errors in the SPIM window). Run the program by executing Simulator Æ
Go (F5). In the subsequent dialog box, make sure the program start address is 0x00400000.
The program will print a header to the console window. When you are finished, the header
should look like this:
**********************************
pf3

Partial preview of the text

Download ECE 2030 Assignment #4: Memory Systems and State Machine Implementation - Prof. Sudhakar Y and more Assignments Electrical and Electronics Engineering in PDF only on Docsity!

GEORGIA INSTITUTE OF TECHNOLOGY

School of Electrical and Computer Engineering

ECE 2030: Sections D

Spring 2008

Assignment

Due Date: Monday, March 31

st

, 2008 in class. No late assignments will be

accepted. Program is due electronically by midnite.

  1. Consider the state machine described in class for recognizing the pattern 1101 in a serial bit stream. Produce a logic implementation using D flip flops and gates for the following different encoding schemes. a. Binary encoded states b. One-hot encoded states c. Gray coded states (look up gray codes in the text).

Compare the three implementations in terms of time and space.

  1. Show the design of the following memory systems using 1Gbit memory chips. Assume the chips are organized a 256Mx4 bits. a. Byte addressable 128 Mbytes (the system read/writes bytes) b. 32Mwords where each word is 32 bits. c. 16Mwords where each memory is 64 bits.
  2. Find a data sheet from any memory supplier for an SRAM part (at least Mbytes in size). Provide the supplier name and part number. Describe the internal organization in terms of the sizes and number of memory banks, the number of addresses/chip, the number of bits at each address, and the reported access times.
  3. This question is to familiarize you with the SPIM directives for using the data segment and the storage model. You will become familiar with the manner in which strings, bytes, and words are stored in memory and understand addressing behavior of future SPIM programs.

You are provided with a sample SPIM program (section webpage). Insert data directives as defined in class, at the location identified in the program. Load and run the program (just open the file and look for errors in the SPIM window). Run the program by executing Simulator Æ Go (F5). In the subsequent dialog box, make sure the program start address is 0x00400000. The program will print a header to the console window. When you are finished, the header should look like this:

  • Your Name *
  • ECE 2030 Assignment 1 *
  • Section X *
  • 04/2008 * 0 1 2 3 4 5 6 7 8

Later you will understand the specific instructions in the program that produces this header, but now for now assume the program is correct and concentrate on using data directives to make sure the header appears exactly as above, and as described the following.

Store in sequence the following.

  1. Create the first header line
  2. Create the second line of the header
  3. Store your name
  4. Store the following: ECE 2030
  5. Store Programming Assignment 1
  6. Store the following: Section
  7. Store the following: Due Date
  8. Reserve 9 bytes of memory
  9. Store nine bytes with the values 0-8.
  10. Store two words with the values 0x4400 and (220) 10.
  11. close out the header (next to last line)
  12. close out the header last line
  13. Label the storage corresponding to each of the preceding steps with the labels Label1, Label 2, etc.

If you create the header correctly, the program will print out the header as shown above.

Now answer the following.

  1. What is the byte address of the character ‘3’ in 2030?
  2. Exactly how many bytes are used in the data segment?
  3. How many labels did you need?
  4. What are the contents of the memory location defined by Label 9?