Main

ECE 576 - Homework Assignment 3

Due TBD via D2L

THIS ASSIGNMENT IS UNDER CONSTRUCTION. PLEASE CHECK BACK LATER FOR FINAL DETAILS


Announcements and Clarifications:


Analysis of Impact on Bus Contention

In this assignment, you will extend the approximate timed system developed in HW Assignment 2 to add additional bus master components to simulate increased activity over the systems bus, and analyze how this increased activity affects system performance. Specifically, you will add two additional bus maters, including and SAD component and a commandline configurable bus traffic generator.

SAD Component

The SAD will repeatedly compute the sum of absolute differences between two 64 entry blocks of data stores within the memory. This computation should be customizable using #define's for BLOCK1_ADDR, and BLOCK2_ADDR. The final result of the SAD component should be written to a customizable location in memory specified using a #define SAD_RESULT_ADDR. This computation should be executed until the SystemC simulation is terminated.

#define BLOCK_SIZE 64
#define BLOCK1_ADDR
#define BLOCK2_ADDR
#define SAD_RESULT_ADDR

while(1) {
   for (i=0; i<BLOCK_SIZE; i++)
   {
      v = MEM[BLOCK1_ADDR+i] - MEM[BLOCK2_ADDR+i];
      if( v < 0 ) v = -v;
      sad += v;
   }
}

Assuming all individual operations, e.g. additions, multiplication, comparisons, etc., require a 10 ns delay, incorporate wati() statements within the SAD component to model the appropriate delays.

Bus Traffic Generator

Add a configurable bus master component that will periodically read 32 words from memory using a burst transaction. A commandline argument should be utilized to define the time in ns between the bus transfers.

Performance Impact of Increased Bus Contention

Using the configurable bus traffic generator, analyze the overall systems performance with increased bus activity. Submit a 2 page Word or PDF document in IEEE two column format providing an overview of your systems implementation and resulting analysis of the system performance.


Groups

Students are optionally allowed to work in groups of 2 for this assignment. If you choose to work as a group, you must email the instructor by no later than Wednesday, March 23 indicating who your partner will be for the assignment (only one member need send the email). In addition, the comments section at the top of each submitted file must include the names of both students within your group.


Submission Requirements:

You must submit both SystemC implementations along with a brief README via D2L as a single ZIP or TAR/GZIPPED archive. Note: Do not submit executables, Makefiles, or Visual Studio project files.

Linux Server Requirements:

The server embedded.ece.arizona.edu will be utilized to test all homework assignments. The embedded server is available for development and testing of your design. If you want to use the embedded server, please email the instructor with your ECE account login to allow for a directory to setup for your development efforts.

Students can utilize the departmental servers and workstations for their projects, and are free to use Microsoft Visual Studio, if desired. If you choose to use Microsoft Visual Studio, you will need to compile the SystemC library, for which many tutorials exist. While you are free to use any development environment, you should test your code for correct functionality on the embedded server before submitting.